{
 "cells": [
  {
   "cell_type": "raw",
   "id": "b286f210-0f9b-4d0b-88f8-6f6a55ec1f65",
   "metadata": {},
   "source": [
    "---\n",
    "title: Sparse rendering\n",
    "subtitle: Hacking `DiffDRR` to render sparse subsets of image patches\n",
    "skip_exec: true\n",
    "---"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c471c812-b5ad-414d-bc9c-cd6d955257bb",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import torch\n",
    "from diffdrr.drr import DRR\n",
    "from diffdrr.visualization import plot_drr\n",
    "\n",
    "from diffpose.deepfluoro import DeepFluoroDataset, Transforms\n",
    "from diffpose.registration import SparseRegistration, vector_to_img"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1d48e88c-c305-472a-9eaa-095f0b50c6c9",
   "metadata": {},
   "outputs": [],
   "source": [
    "specimen = DeepFluoroDataset(1)\n",
    "height = 256\n",
    "subsample = (1536 - 100) / height\n",
    "delx = 0.194 * subsample\n",
    "\n",
    "_, pose = specimen[0]\n",
    "pose = pose.cuda()\n",
    "\n",
    "drr = DRR(\n",
    "    specimen.volume,\n",
    "    specimen.spacing,\n",
    "    sdr=specimen.focal_len / 2,\n",
    "    height=height,\n",
    "    delx=delx,\n",
    "    x0=specimen.x0,\n",
    "    y0=specimen.y0,\n",
    "    reverse_x_axis=True,\n",
    "    bone_attenuation_multiplier=2.5,\n",
    ").to(\"cuda\")\n",
    "\n",
    "registration = SparseRegistration(drr, pose, parameterization=\"se3_log_map\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "584c422b-fd98-4422-93e7-61993a80a58f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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33wz4bHUfQIQ+/btE1u2bBEej0csWbJE/PrXvxbvv/++WLNmjfB6vaKtrU2ueyDE5GTM7du3i+rqalFUVCSuuOIKcfDgQcNxOjs7xebNm4Xb7RYLFy4Ujz/++LRjDw4OiltuuUVUVlYKn88n1q5dK44dO5bOrdMUGLy9CiFEPB4XtbW14jvf+Y78LBAICJfLJZ588kkhhBC///3vBQBx9OhRuc2zzz4rLBaL+Oijj+bs3DWFT29vrwAgDh8+LD9bs2aNuPPOOxP+5uc//7mwWq2iu7tbfvbwww8Lv98vRkZGcnm6mrOA+++/XyxdutT0u0AgIBwOh/jhD38oP3v33XcFAPHqq68KIXT702SXO++8UzQ3N4t4PC6E0PIvX+gIU4Z8//vfxwMPPIAFCxagq6sLR48endPjf/3rX8dnPvMZHDt2DEuWLMH111+P2267DV/+8pfx+uuvy/KfRDgcxubNm/Hiiy/izTffxDXXXINt27YZ1j34zGc+g87OThw6dAj/8z//g0ceeQS9vb2G4+7evRu9vb149tln8cYbb+Dyyy/HunXrMDAwMGfXrskvHR0d6O7uxvr16+VnJSUlWLFiBV599VUAwKuvvorS0lJcccUVcpv169fDarXiyJEjc37OmsIlGAwCAMrLyw2fP/7446isrMQll1yCL3/5y4hGo/K7V199Fa2traipqZGfbdy4EaFQCO+8887cnLimoHn//fdRX1+PCy64ADfccIMcK9944w2MjY0Z5N+SJUtw/vnnG+Sfbn+abDA6Oor//M//xM033wyLxSI/1/Jv7slNDtk5QElJCXw+H2w2G2pra+f8+DfddBP+4i/+AgBwzz33oK2tDffeey82btwIALjzzjtx0003ye2XLl2KpUuXyvdf//rXceDAAfzkJz/B3r178d577+GFF17A0aNHpZL7b//2b1i0aJH8za9+9Sv85je/QW9vL1wuFwDgu9/9Lp5++mn86Ec/0ulW5wjd3d0AYBDG9J6+6+7uRnV1teF7u92O8vJyuY1GMxPxeBx33XUXVq5caZgjev3116OxsRH19fV46623cM899+D48eN46qmnAEy2P7P2Sd9pNMlYsWIF9u/fj8WLF6Orqwt///d/j1WrVuF3v/sduru74XQ6UVpaaviNKv90+9Nkg6effhqBQACf/exn5Wda/uUHbTAVKJde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",
      "text/plain": [
       "<Figure size 1000x500 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Generate images with different numbers of patches\n",
    "imgs = []\n",
    "n_patches = [None, 100, 250, 500, 750]\n",
    "for n in n_patches:\n",
    "    img, mask = registration(n, patch_size=13)\n",
    "    if n is not None:\n",
    "        img = vector_to_img(img, mask)\n",
    "    imgs.append(img)\n",
    "\n",
    "# Plot the images with various levels of sparsity\n",
    "axs = plot_drr(torch.concat(imgs))\n",
    "for ax, n in zip(axs, n_patches):\n",
    "    if n is None:\n",
    "        n = \"full image\"\n",
    "    ax.set(xlabel=n)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c11c233b-26f2-45ae-ad76-68946dd4c612",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "29.5 ms ± 375 µs per loop (mean ± std. dev. of 100 runs, 10 loops each)\n"
     ]
    }
   ],
   "source": [
    "# Full image with SparseRegistration\n",
    "%timeit -n 10 -r 100 registration(n_patches=None, patch_size=13)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2b3b2278-b4b7-41d4-af0e-02c9356f5fe1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "8.57 ms ± 51.3 µs per loop (mean ± std. dev. of 100 runs, 10 loops each)\n"
     ]
    }
   ],
   "source": [
    "# 100 patches\n",
    "%timeit -n 10 -r 100 registration(n_patches=100, patch_size=13)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "902c29ee-951b-4a37-8f1d-fa1cac5da383",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "15.3 ms ± 112 µs per loop (mean ± std. dev. of 100 runs, 10 loops each)\n"
     ]
    }
   ],
   "source": [
    "# 250 patches\n",
    "%timeit -n 10 -r 100 registration(n_patches=250, patch_size=13)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "765bc428-aebd-4d87-a917-6e364eb55f9b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "22.1 ms ± 141 µs per loop (mean ± std. dev. of 100 runs, 10 loops each)\n"
     ]
    }
   ],
   "source": [
    "# 500 patches\n",
    "%timeit -n 10 -r 100 registration(n_patches=500, patch_size=13)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "630b0d56-b2cc-4c6d-a9c1-5875aba0f4ed",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "25.7 ms ± 157 µs per loop (mean ± std. dev. of 100 runs, 10 loops each)\n"
     ]
    }
   ],
   "source": [
    "# 750 patches\n",
    "%timeit -n 10 -r 100 registration(n_patches=750, patch_size=13)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2d62baa1-cbd7-4e60-bd21-385cc2e3d9c4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "29.7 ms ± 203 µs per loop (mean ± std. dev. of 100 runs, 10 loops each)\n"
     ]
    }
   ],
   "source": [
    "# Full image with DiffDRR\n",
    "%timeit -n 10 -r 100 drr(None, None, None, pose=pose)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d43663f5-81b1-4273-925d-38f00043c56c",
   "metadata": {},
   "outputs": [],
   "source": [
    "from diffdrr.metrics import MultiscaleNormalizedCrossCorrelation2d\n",
    "\n",
    "from diffpose.registration import VectorizedNormalizedCrossCorrelation2d"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1b976ff5-ba80-4d52-bc15-e0ce8e4eb4b9",
   "metadata": {},
   "outputs": [],
   "source": [
    "mncc = MultiscaleNormalizedCrossCorrelation2d(patch_sizes=[None, 13], patch_weights=[0.5, 0.5])\n",
    "smncc = VectorizedNormalizedCrossCorrelation2d()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8de40d6b-a708-4c9e-a4bc-ffa1322a4560",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.51 ms ± 1.3 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n"
     ]
    }
   ],
   "source": [
    "%timeit mncc(img, img)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a3b4ea0b-b68f-4d59-a691-77ef28063ea8",
   "metadata": {},
   "outputs": [],
   "source": [
    "pred_img, mask = registration(n_patches=1000, patch_size=13)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bfa749dc-0512-4d0c-a847-dd373b944a72",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3.27 ms ± 8.6 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
     ]
    }
   ],
   "source": [
    "%timeit smncc(img, pred_img, mask, n_patches=1000, patch_size=13)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cb4be4b2-d685-410f-814a-63fa618ec79d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 1, 256, 256])"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "img.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bdd5bdb9-e1f7-42dc-9b35-ce9c6fd58299",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 14675])"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pred_img.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a0515257-a44f-43ee-ae99-4758b9142d5f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "33.333333333333336"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "1 / 30e-3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9ad27495-34e6-4297-a15c-5501ad05481c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "31.746031746031747"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "1/ ((30+1.5) * 1e-3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2bfb9892-0101-4c7e-8b24-1a8aa502f70d",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "python3",
   "language": "python",
   "name": "python3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
